package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 银行账单管理对象 yt_bill_management
 *
 * @author magichaohao
 * @date 2021-05-24
 */
public class YtBillManagement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 账单id */
    private Long billId;

    /** 客户id */
    @Excel(name = "客户id")
    private Long customerId;

    /** 账号 */
    @Excel(name = "账号")
    private String account;

    /** 账号名称 */
    @Excel(name = "账号名称")
    private String accountName;

    /** 借方发生金额 */
    @Excel(name = "借方发生金额")
    private BigDecimal borrowMoney;

    /** 贷方发生金额 */
    @Excel(name = "贷方发生金额")
    private BigDecimal amountMoney;

    /** 余额 */
    @Excel(name = "余额")
    private BigDecimal balance;

    /** 币种 */
    @Excel(name = "币种")
    private Long currency;

    /** 对方户名 */
    @Excel(name = "对方户名")
    private String reciprocalAccountName;

    /** 对方账号 */
    @Excel(name = "对方账号")
    private String reciprocalAccountNumber;

    /** 对方开户机构 */
    @Excel(name = "对方开户机构")
    private String accountOpening;

    /** 记账日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记账日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date accountingDate;

    /** 摘要 */
    @Excel(name = "摘要")
    private String summary;

    /** 交易流水号 */
    @Excel(name = "交易流水号")
    private String transactionNumber;

    /** 企业流水号 */
    @Excel(name = "企业流水号")
    private String enterpriseNumber;

    /** 凭证种类 */
    @Excel(name = "凭证种类")
    private Integer voucheKind;

    /** 凭证号 */
    @Excel(name = "凭证号")
    private String voucherNumber;

    /** 个性化信息 */
    @Excel(name = "个性化信息")
    private String indivduation;

    /** 创建时间 */
    private Date creationTime;

    /** 移除时间 */
    private Date removeTime;

    /** 用户信息 */
    private YtCustomerMsg ytCustomerMsg;

    public void setBillId(Long billId)
    {
        this.billId = billId;
    }

    public Long getBillId()
    {
        return billId;
    }
    public void setCustomerId(Long customerId)
    {
        this.customerId = customerId;
    }

    public Long getCustomerId()
    {
        return customerId;
    }
    public void setAccount(String account)
    {
        this.account = account;
    }

    public String getAccount()
    {
        return account;
    }
    public void setAccountName(String accountName)
    {
        this.accountName = accountName;
    }

    public String getAccountName()
    {
        return accountName;
    }
    public void setBorrowMoney(BigDecimal borrowMoney)
    {
        this.borrowMoney = borrowMoney;
    }

    public BigDecimal getBorrowMoney()
    {
        return borrowMoney;
    }
    public void setAmountMoney(BigDecimal amountMoney)
    {
        this.amountMoney = amountMoney;
    }

    public BigDecimal getAmountMoney()
    {
        return amountMoney;
    }
    public void setBalance(BigDecimal balance)
    {
        this.balance = balance;
    }

    public BigDecimal getBalance()
    {
        return balance;
    }
    public void setCurrency(Long currency)
    {
        this.currency = currency;
    }

    public Long getCurrency()
    {
        return currency;
    }
    public void setReciprocalAccountName(String reciprocalAccountName)
    {
        this.reciprocalAccountName = reciprocalAccountName;
    }

    public String getReciprocalAccountName()
    {
        return reciprocalAccountName;
    }
    public void setReciprocalAccountNumber(String reciprocalAccountNumber)
    {
        this.reciprocalAccountNumber = reciprocalAccountNumber;
    }

    public String getReciprocalAccountNumber()
    {
        return reciprocalAccountNumber;
    }
    public void setAccountOpening(String accountOpening)
    {
        this.accountOpening = accountOpening;
    }

    public String getAccountOpening()
    {
        return accountOpening;
    }
    public void setAccountingDate(Date accountingDate)
    {
        this.accountingDate = accountingDate;
    }

    public Date getAccountingDate()
    {
        return accountingDate;
    }
    public void setSummary(String summary)
    {
        this.summary = summary;
    }

    public String getSummary()
    {
        return summary;
    }
    public void setTransactionNumber(String transactionNumber)
    {
        this.transactionNumber = transactionNumber;
    }

    public String getTransactionNumber()
    {
        return transactionNumber;
    }
    public void setEnterpriseNumber(String enterpriseNumber)
    {
        this.enterpriseNumber = enterpriseNumber;
    }

    public String getEnterpriseNumber()
    {
        return enterpriseNumber;
    }
    public void setVoucheKind(Integer voucheKind)
    {
        this.voucheKind = voucheKind;
    }

    public Integer getVoucheKind()
    {
        return voucheKind;
    }
    public void setVoucherNumber(String voucherNumber)
    {
        this.voucherNumber = voucherNumber;
    }

    public String getVoucherNumber()
    {
        return voucherNumber;
    }
    public void setIndivduation(String indivduation)
    {
        this.indivduation = indivduation;
    }

    public String getIndivduation()
    {
        return indivduation;
    }
    public void setCreationTime(Date creationTime)
    {
        this.creationTime = creationTime;
    }

    public Date getCreationTime()
    {
        return creationTime;
    }
    public void setRemoveTime(Date removeTime)
    {
        this.removeTime = removeTime;
    }

    public Date getRemoveTime()
    {
        return removeTime;
    }

    public YtCustomerMsg getYtCustomerMsg() {
        return ytCustomerMsg;
    }

    public void setYtCustomerMsg(YtCustomerMsg ytCustomerMsg) {
        this.ytCustomerMsg = ytCustomerMsg;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("billId", getBillId())
            .append("customerId", getCustomerId())
            .append("account", getAccount())
            .append("accountName", getAccountName())
            .append("borrowMoney", getBorrowMoney())
            .append("amountMoney", getAmountMoney())
            .append("balance", getBalance())
            .append("currency", getCurrency())
            .append("reciprocalAccountName", getReciprocalAccountName())
            .append("reciprocalAccountNumber", getReciprocalAccountNumber())
            .append("accountOpening", getAccountOpening())
            .append("accountingDate", getAccountingDate())
            .append("summary", getSummary())
            .append("remark", getRemark())
            .append("transactionNumber", getTransactionNumber())
            .append("enterpriseNumber", getEnterpriseNumber())
            .append("voucheKind", getVoucheKind())
            .append("voucherNumber", getVoucherNumber())
            .append("indivduation", getIndivduation())
            .append("creationTime", getCreationTime())
            .append("removeTime", getRemoveTime())
            .toString();
    }
}
